#ifndef __ADD_H__
#define __ADD_H__ // 定义 add.h
// 判断 add.h 是否被定义，防止重复包含
// 重复包含会把 add.h 拷贝多次

int Add(int a, int b);

#endif // 结束判断

// 整体过程是
// 判断 __ADD_H__ 是否已经被定义，
// 如果还未定义，包含后面的语句；否则忽略后面的语句直到 #endif。
// 但第一次包含 add.h 的时候，__ADD_H__ 就被定义了，
// 后面再包含时，预处理器就会跳过里面的内容。
//
// 又一次体现 C 语言的模块化和高效
